package rootdb

import (
	"errors"
	"os"
	"path"
)

// 读取文件字节码 - 用于下载
//
//	id	文件ID
func P7read(id int64) (string, []byte, error) {
	if id <= 0 {
		return "", nil, errors.New("文件ID传输错误")
	}
	// 创建设备信息
	conn, err := Connect()
	if err != nil {
		return "", nil, err
	}
	f := File{}
	err = conn.Table(f.TableName()).Where("id", id).Limit(1).Find(&f).Error
	if err != nil {
		return "", nil, err
	}
	if f.Id <= 0 {
		return "", nil, errors.New("文件未找到")
	}
	if f.Path7z != "" {
		// 读取文件并进行下载
		byt, err := os.ReadFile(f.Path7z)
		_, name := path.Split(f.Path7z)
		return name, byt, err
	}
	return "", nil, errors.New("文件未进行压缩/未压缩完成")
}
